
#include <iostream>
#include "Utilitarios.h"

Utilitarios::Utilitarios() {
}

Utilitarios::~Utilitarios() {
}

std::string Utilitarios::intToString(int i) {
	std::stringstream ss;
	ss << i;
	return ss.str();
}

int Utilitarios::stringToInt(string s) {
	int e;
	std::stringstream ss(s);
	ss >> e;
	return e;
}

bool Utilitarios::isANumber(string s) {
	int d;
	std::stringstream ss(s);
	ss >> d;
	string str = intToString(d);
	return !ss.fail() && (s == str);
}

void Utilitarios::split(string text, string delim, std::vector<string>* tokens) {
	unsigned int pos_anterior = 0;
	unsigned int pos_actual = text.find(delim, pos_anterior);
	//cout << "texto: " + text << endl;
	//cout << "pos actual  " + pos_actual << endl;
		while(pos_actual != string::npos) {
		tokens->push_back(text.substr(pos_anterior, pos_actual-pos_anterior));
		pos_anterior = pos_actual+delim.length();
		pos_actual = text.find(delim, pos_anterior);
		//cout << "posactual " + pos_anterior << endl;
		//cout << "posactual" + pos_actual << endl;
	}

	tokens->push_back(text.substr(pos_anterior, text.length()));
}
